ASP.NET MVC Route Contraints with {ID}-{Slug} Format

Posted by TimLeung on Stack Overflow See other posts from Stack Overflow or by TimLeung
Published on 2010-04-02T17:35:21Z Indexed on 2010/04/02 17:53 UTC
Read the original article Hit count: 417

Filed under:
|
|

I have a route like following, ideally I would like it to match:

domain.com/layout/1-slug-is-the-name-of-the-page

        routes.MapRoute(
            "Layout",                                                // Route name
            "layout/{id}-{slug}",                                           // URL with parameters
            new { controller = "Home", action = "Index", id = @"\d+$" }
        );

But when I hit the url, I am keep on getting this exception:

The parameters dictionary contains a null entry for parameter 'id' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult Index(Int32)' in ....

The above route will match the following though:

domain.com/layout/1-slug or domain.com/layout/1-slug_permalink

Seems like the hyphen that separates the ID from the Slug is causing issues.

© Stack Overflow or respective owner

Related posts about ASP.NET

Related posts about asp.net-mvc